Commercial and military systems today are largely software based and growing in complexity. However, despite advances in development practices and tools, the goals of accelerating the rate at which systems can be delivered and reducing their costs cannot be met by simply writing software faster. Delivering faster, cheaper, and higher quality software will only be met with comparable improvements in the practices and tools for automated testing and analysis. Current systems require constant supervision of testing software by trained individuals. Oftentimes, the testing procedures are time-consuming and burdensome.
A part of the testing process generally involves identifying Graphical User Interface (GUI) interactions. For example, an automated GUI test for a software system may include one or more GUI interactions. A single GUI interaction may be minimally defined by two pieces of information: the subject of the interaction, and the mechanics of the interaction. By selecting an icon (e.g., usually a mouse click), a certain function will occur (e.g., initiate an application, etc.). Selecting the same icon in a different manner (e.g., right click, double click, etc.) may provide a different result. The testing process may involve a series of GUI interactions for testing.
The traditional image capture approach requires multiple user interactions to capture an image. For example, a user typically uses multiple clicks to define the image and then provides additional inputs that describe the user interaction. Typically, the user inputs interaction specifics, such as button clicks and click count, using a menu. When complex systems with many discrete functions are being tested, the cumulative effort to capture each action can be burdensome and time consuming thereby resulting in testing inefficiencies. Other drawbacks may also be present.